package com.wskj.system.service;

import com.wskj.system.bo.SysShareAddBo;
import com.wskj.system.bo.SysShareEditBo;
import com.wskj.system.bo.SysShareQueryBo;
import com.wskj.system.domain.SysShare;
import com.wskj.system.vo.web.SysShareVo;
import com.wskj.common.core.mybatisplus.core.IServicePlus;
import com.wskj.common.core.page.TableDataInfo;
import com.wskj.workbench.bo.app.AppMiCodeAddBo;
import com.wskj.workbench.vo.app.AppShareVo;

import java.util.Collection;
import java.util.List;

/**
 * 分享Service接口
 *
 * @author wsdz
 * @date 2023-02-24
 */
public interface ISysShareService extends IServicePlus<SysShare> {
    /**
     * 查询单个
     *
     * @return
     */
    SysShareVo queryById(Long shareId);

    /**
     * 查询列表
     */
    TableDataInfo<SysShareVo> queryPageList(SysShareQueryBo bo);

    /**
     * 查询列表
     */
    List<SysShareVo> queryList(SysShareQueryBo bo);

    /**
     * 根据新增业务对象插入分享
     *
     * @param bo 分享新增业务对象
     * @return
     */
    Boolean insertByAddBo(SysShareAddBo bo);

    /**
     * 根据编辑业务对象修改分享
     *
     * @param bo 分享编辑业务对象
     * @return
     */
    Boolean updateByEditBo(SysShareEditBo bo);

    /**
     * 校验并删除数据
     *
     * @param ids     主键集合
     * @param isValid 是否校验,true-删除前校验,false-不校验
     * @return
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 导入数据
     *
     * @param sysShareList 排污口水质数据
     * @return String
     */
    String importSysShare(List<SysShareVo> sysShareList);

    AppShareVo code() throws Exception;


    /**
     * 后台生成小程序码
     */
    boolean houtaiCode(Long[] userIds) throws Exception;
}
